#ifndef CHAIN_TEST_H_
#define CHAIN_TEST_H_

#include <Chain.hh>
#include "Test.hh"

//
/**
 * \file ChainTest.hh
 * \author  jsk <jsk.jinsubkim@gmail.com>
 * \version 1.0
 *
 * \class ChainTest ChainTest.hh
 *
 * 
 */
class ChainTest : public Test
{
public:
	/**
	 * \name testBasicCase
	 * 
	 * 단순한 삽입과 삭제에 대해서 검증한다.
	 * 
	 * \return 
	 * 
	 * 성공할 경우 RETURN_OK, 
	 * 실패할 경우 RETURN_OK가 아닌 값.
	 */
	virtual ResultOf testBasicCase(Chain* List);
	
	/**
	 * \name testBasicCase2
	 * 
	 * ???
	 * 
	 * \return 
	 * 
	 * 성공할 경우 RETURN_OK, 
	 * 실패할 경우 RETURN_OK가 아닌 값.
	 */
	virtual ResultOf testBasicCase2(Chain* List);
	
	/**
	 * \name testBasicCase3
	 * 
	 * ???
	 * 
	 * \return 
	 * 
	 * 성공할 경우 RETURN_OK, 
	 * 실패할 경우 RETURN_OK가 아닌 값.
	 */
	virtual ResultOf testBasicCase3(Chain* List);
};

#endif //CHAIN_TEST_H_